namespace ClassDemo.Model.VO;

/// <summary>
/// 教师登录响应视图对象
/// </summary>
/// <remarks>
/// 教师登录成功后返回的响应数据，包含JWT令牌和用户基本信息
/// </remarks>
/// <example>
/// {
///   "accessToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
///   "tokenType": "Bearer",
///   "expiresIn": 3600,
///   "user": {
///     "id": 1,
///     "name": "张老师",
///     "mobile": "13800138000",
///     "createTime": "2024-01-01T00:00:00",
///     "updateTime": "2024-01-01T00:00:00"
///   }
/// }
/// </example>
public class LoginResponseVo
{
    /// <summary>
    /// JWT访问令牌
    /// </summary>
    /// <value>
    /// 用于后续API请求认证的JWT令牌字符串
    /// </value>
    public string AccessToken { get; set; } = string.Empty;

    /// <summary>
    /// 令牌类型
    /// </summary>
    /// <value>
    /// 固定值 "Bearer"，表示Bearer Token认证方式
    /// </value>
    public string TokenType { get; set; } = "Bearer";

    /// <summary>
    /// 令牌过期时间
    /// </summary>
    /// <value>
    /// 令牌有效期，单位为秒，默认3600秒（1小时）
    /// </value>
    public int ExpiresIn { get; set; }

    /// <summary>
    /// 登录用户的基本信息
    /// </summary>
    /// <value>
    /// 包含教师的ID、姓名、手机号等基本信息
    /// </value>
    public TeacherVo User { get; set; } = new();
}